// Example_1

var a = {
	a : 'a',
	b : function() {
		return 'b'
	}
}

alert(typeof(a.a));// string
alert(typeof(a.b)); // function

// Example_2

var a = {
	a : 'a',
	b : function() {
		return 'b'
	}()
	// 注意此处括号
}

alert(typeof(a.a));// string
alert(typeof(a.b)); // string 取决于b的[return的值类型] 相当于Example_1中的 typeof(a.b())

/* --------------------------- --------------------------- --------------------------- */

var a = new Array();
alert(typeof a);// 数组也是Object

/* --------------------------- --------------------------- --------------------------- */

var o = {
	a : function() {},
	b : 'b',
	c : 'c'
}

o['d'] = 'd';

for (var i in o) {
	alert(i);// 输出key: a b c
	alert(typeof(i));// string
}

/* --------------------------- --------------------------- --------------------------- */

o = {
	a : function() {
		return 'a'
	},
	b : function() {
		return 'b'
	}()
}
alert(o.a);// function() {return 'a'}
alert(o.a());// a

alert(o.b);// b
alert(o.b());// TypeError: o.b is not a function
